html5j パフォーマンス部 第五回勉強会 ― 改正民法債権法と非機能要求としてのWebパフォーマンス
https://gyazo.com/7cebe838fbf68bb078a94751a805fc73
今日のテーマ
改正民方債権法
契約の法律
2020/4/1から変わる
121年ぶりの改正
契約のパラダイムシフト
条文に「品質」という言葉が入る
建築ではもともとあったが
ソフトウェアや不動産などにも適応されるように
弁護士 中島 成 先生
改正民法による定形約款、請負、委任、売買
債権
特定の人や企業に請求できる権利
=契約について
基本的な特色
英米法の契約重視の考えを入れた
約束したものを重視
契約内容に適合してたことを社会通念に従って判断(客観的)
これまでは大陸法(ローマ)を取り入れていた
哲学的なもの
故意・過失(主観的)
改正民法の条文
契約内容を示す
債務不履行責任は契約の発生原因で判断
履行不能でも責任が発生
瑕疵担保という言葉がなくなる
契約内容に照らし不履行が軽微であれば解除できない場合あり
約款について
事業者が一方的に決めるのに
効力が生じるか
不等条項の効力
事業者が内容を変更できる場合についての明文ルールなし
特定の物(A)が不特定多数のものを相手方として行う取引で
内容が画一的なことが契約当事者双方にとって合理的な取引(定形取引)のために
Aが予め準備した契約条項
約款の情報を相手に指し示す必要はない
詳しい約款を相手が知らなくても良い
相手が開示請求があったら示す必要あり
事業者が一方的に変更する場合
変更内容が相手方の利益に適合しているか
変更内容が目的に反せず合理的であるか
通常の契約との区別
企業と企業の間に適応される
ひな形契約と定形約款の区別
相手の個性に応じてアレンジされることが予定されているか?
予定されていれば定形約款ではない
内容が合理的であれば一方的に変更できるか?
変更できなければ定形約款ではない
請負契約と(準)委任契約の違い
請負
完成を約束する
完成に対して報酬
割合報酬
完成前でも割合に応じて請負報酬を請求できる
契約ではっきり排除するか具体的にどうするかきめておかないと紛争になりうる
注文者の権利行使の期間制限
改正民法で責任範囲が広がった
不適合と知った(納品受け取った)ときから1年以内に、事実を告げると適応
(準)委任
結果ではなく事務処理自体が委託
法律行為を委託する場合は委任
それ以外を委託する場合を準委任
準委任も委任の規定が全面的に準用
義務
善管注意義務
本旨に従って善良な管理者の注意をもって事務処理しないといけない
その立場や状況になったときの注意義務を払う
報告義務
返還義務
再委任
改正前は再委任できる条項なし
再委任できる場合を明文化
1. 委任者の許可を得た
2. やむを得ない場合
再委任ができるか、どうした場合ができるのかを契約に含めるべき
成果報酬型委任
割合報酬ができるようになる
成果に対して報酬も支払う契約ができる
契約内容不適合責任
これまでの瑕疵担保責任
追完請求権
修繕処理
代替物の引渡
不足分の引渡
代金減額請求
追完できなかったらこれ
売買権利行使の期間制限
商法526条
不適合を知って1年
不適合発見後、ただちに売り主に通知発信
受領後6ヶ月以内に不適合を発見しないといけない
クラウドサービス利用契約の法的性質と品質保証条項の検討
利用契約はサービスの提供という事務を行うことが目的のため準委任契約または複合的な契約と解される
具体的な内容は原則として個別契約条項による
ただし受任者は善管注意義務がある
保証の否認(第10条)
責任限定(第11条)
自分が支払ったもの以上の損害賠償はできない
マイクロソフトクラウド契約
保証(第5条)
責任制限(第7条)
Google Compute Engine サービスレベル契約 契約期間、顧客に対して毎月99.95%以上の稼働率を提供する
富士通クラウドサービス利用規約
全く利用できないとき24時間以上利用不能の状態賠償責任
コンピュータ上で動くプログラムのみ適応
他国の専属管轄があれば原則として裁判所の管轄になる
サービス提供側は善管注意義務を追う
定形約款であれば、一方的に不利で信義則に反する場合は条項は無効 目的に適合して使用できるものを貸す→賃貸借契約の面がある
ソフトウェア使用許諾契約における品質保証の検討
よくある使用許諾契約ではいかなる保証も賠償を行わないとする免責条項が多い
バグがあったり、パフォーマンスが遅く、契約の目的を達成できない場合
一方的に不利で信義則に反するとして無効になりうる
契約解除、損害賠償請求も可能となる
免責条項が合っても目的のために利用することが明示目次の合意として存在している
データ欠損が著しいと証明できれば契約解除、損害賠償請求もできる
業務システム開発の失敗とベンダ、発注者の責任
1. 野村HD・野村證券 VS 日本IBM(2019/3/20 判決、控訴により審理中)
裁判所の判断
IBMに対して個別契約13〜15が履行不能になった
16億2000万円の支払いを命じ、IBMの飲むらいに対する反訴
争点
1. 完成される義務を負っていたのか?
請負なのか、委任なのか
試行錯誤をしながら進行するのが通常である判断
工程ごとに段階的に個別契約を締結する手法がとられている
契約上の債務を負っていたとは解されない
準委任じゃないと無理では、という判断
2. 解除は野村側の社内事情では?
→ 社内事情としては認められない
3. 不能となった以上、各個別契約はすべてさかのぼって履行不能となるか?
当事者の合理的意思に反するので履行不能とはいえない
4. テメノス社によるカスタマイズ量の把握不足がIBMの責任と言えるか?
IBMの履行補助者だから、IBM自信のものと同視される
IBMとの連携に原因があるので責任とも言える
5. マネジメント義務違反があったかどうか
取るべきマネジメント策を一義的に定めることは困難
その選択はベンダの責任に委ねられる
しかし、裁量を逸脱して社会通念上講じてはならない不合理な対応策を取ったとまでは認められない
よってIBMに重過失によるマネジメント義務違反はない
6. 責任制限条項は有効か
システム開発は損害が多額になる
契約を個別化
経産省のモデル契約にも類似条項がある
7. 反訴請求について
破却
個別契約13, 15は履行完了していない
総合テストの報酬発生否定
追加作業分の報酬発生も否定
報酬合意なしという判断
2. 三菱食品 VS インテック(2018/11 提訴)
現在係争中
予想される争点
インテックがシステムの完成義務を追うか
各個別契約の義務は履行されたか?
インテックがマネジメント義務を怠ったと言えるか
他社への支払いと本件システム開発ができなかったことの間に因果関係があるか?
責任制限条項契約の存在とその有効性
非機能要求としてのWebパフォーマンス … 納品時の統計的品質管理による計測検査
竹洞 陽一郎
品質保証は信用経済の基礎
信用は期待に沿うことであり
品質管理は期待のコントロール
買い手と売り手の理解度が違う場合
投資してもしょうがないから安くしよう、となる
経産省はどうにかしないと思ってる
情報流通経路を整備すると経済が発展する
5Gは経済成長の燃料
上位のレイヤーで見ると「情報交換」がよくできてるかどうか
投資したくとも保証がないとなにも出来ない
システムの構築は高度化して請負でどうにかできなくなってくる
準委任であれば時間契約
専門的なものは専門家が対応すべき
V&Vモデル
Verification(検証)とValidation(妥当性確認)
検証…設計通りに実装されたか?
非機能要件は妥当性確認
本来意図された用途や目的にかなって妥当か?
VモデルからWモデルへ
各工程ごとで確認を挟むべき
性能品質とは
良い・悪い
バラツキが小さい=良い
バラツキが大きい=悪い
ある目標値の達成もそうだが達成度がばらついてる場合は品質が悪い
品質管理の目的は適合しないものは世に出さない
いまどのくらいなのかを確認して、将来どうあるべきかの結果へとつなげる
パフォーマンスに関する標準化
計測指標が違うと噛み合わなくなる
標準化していこうという流れ
独自の品質保証だと比較できない
検査する指標がないと、品質保証できない→売れない
共通のものさしをつくる
品質の比較
正しい計測手法を導入する
正しさの保証
相手の要望された手法で計測する必要なし
業務効率化
Computer Measurement Group
ACM SIGMETRICS
American Software Testing Qualifications Board, Inc.
W3C Web Performance Working Group メトリクスは定めたが…
観察者効果の概念はなかった
歴史がある
Foundations of Software and System Performance Engineering
非機能要求のテスト種別
Foundation Level Specialist Syllabus Performance Testing 2018
ISO25000における非機能要件
時間挙動
リソース使用率
CPU使用率とは連動していない
計算が早い=計算に集中できている
遮断するものに注視
インタラプト
コンテキストスイッチ
ソケット
仮想ディスク
ディスクスワップはおっかない(100倍の遅延が生じる)
キャパシティ
テスト種別
パフォーマンステスト
負荷テスト
予想される現実的な同時接続の負荷への処理
ストレステスト
限界を超える負荷観測
スケーラビリティテスト
スパイクテスト
バーストした時にどれくらい早く応答できるか
耐久性テスト
同時接続性テスト
キャパシティテスト
国際規格に基づく品質設計・検査
利用時品質モデル
Webパフォーマンスはこれ
利用時品質モデル
パフォーマンスは実運用フェーズ
プロセス
要求仕様、制約条件、品質モデル・計測、品質要求仕様
評価の確立、仕様化、設計、実施
WEBサイトのパフォーマンス計測
目的
遅い観測値がないことを確認する
ばらつきが生じている
プロファイラ
統計的、計測、シュミレーションなど多数の異なるテクニックがある
あくまで製造工程で使われるもの
ばらつきは発生する
例:トヨタ自動車の作り方
品質確認=プロファイル
WEBパフォーマンスは「検査」
品質フィードバック
1ヶ月、6ヶ月、1年、3年…
モデルチェンジのときに自動車買うべき
計測手法
サーバーサイド
1次ISP
Synthetic
エンドユーザ
RUM
Last Mile
ちゃんと訳すると「合成監視」
勝手に作るな!
品質管理の原則
コントロールできるとこに注視
先に定めるべき
できないところのデータをとっても無駄
統計的品質管理で重要な概念
なぜRUMでは駄目か
変動要因が多すぎて分解できないため
ネットワーク要因
端末要因
プラグイン影響
品質管理の原則
そこに手が出せないと意味ない
欠損値の存在有無が確認できない
Cookieベースの実装が多い、初回訪問の値は取得できない
観測者効果がある
JS実行で影響がある
正確度と精度
正確度
真値に近い値かどうか
パフォーマンスの真値とは?
確率的に真値を推測できる
割り算すればRUMを測れる
ある手法における測定値に、同じ手法を測定する限り誤差が生じる
精度
ばらつきの小ささ
標本の大きさ
母集団と標本(サンプル)
1回だけでは保証できない
平均値と標準偏差
実際はいろんな正規分布が合体する歪な形になる
中央値とパーセンタイルで定める
大数の法則
累積分布関数
代表性
エミュレートでの計測
計測ノードは別にある
東京で計測してる
しかしそれは母集団を代表してるか?
1. 局所管理化
2. 反復
3. 無作為化
=ランダム化
実務でどのように計測するか?
売買についての追完などの請求
6ヶ月以内に計測
請負のついての追完などの請求
請負側が検査する必要ある
デスクトップサイトの品質検査計測の計画
1. トランザクション計測
テンプレートが一緒であれば同じ値になるので計測する必要なし
JSやCSSをキャッシュしてくれる
2. 計測はSynthetic Monitoringで行う
3. 計測期間は最低一ヶ月行う
日次だけでなく週次パターンもある
どっちかというと週次が大事
月次だと四回取れる
2976の標本サイズになる
モバイルサイト
リアル4Gとエミュレートと双方計測して基地局なのかサーバーなのか判定できる
近藤 暁太
クラウドプラットフォーム戦略統括ビジネス推進本部
ビジネス推進第1部 担当マネージャー
パフォーマンス
ベアメタル・サーバー
仮想化オーバーヘッドがない
安定して高いパフォーマンス
安定したネットワーク・パフォーマンス
フラット・ネットワーク
Off-Boxネットワーク仮想化
サーバー外に暗号化した物理ネットワークを置く
安定したストレージ・パフォーマンス
ローカル:500万
本番:40万
SLA保証
ディスクのIOPS
セキュリティ
多層防御
Edge セキュリティ
テナント制御
データ制御
横串で見える管理画面
VM1つに影響あるとハイパーバイザーにも影響がおこり全部影響おこりうる
サポート
24時間365日のサポートが標準で付属
重要度1のお問い合わせは1時間以内に対応
Web対応だけでなく電話対応も可能